﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DDD.Core {

    /// <summary>
    /// アニメーション イベント ハンドラー
    /// </summary>
    /// <remarks>
    /// このハンドラーはアニメーション イベントが発生した時に呼び出されるコールバック メソッドです。
    /// アニメーション イベントの詳細にていては、<see cref="AnimationTrack"/> クラスの解説を参照してください。
    /// 第1引数の <paramref name="obj"/> はイベントが設定された <see cref="AnimationTrack"/> オブジェクトです。
    /// 第2引数の <paramref name="args"/> はイベント設定時に指定されたユーザー指定の引数です。
    /// イベントは <see cref="Component.Raise"/> メソッドを呼び出すと発生する可能性があります。
    /// </remarks>
    /// <param name="obj">イベントがセットされていたたアニメーション トラック オブジェクト</param>
    /// <param name="args">ハンドラー登録時にユーザーが指定した任意の引数</param>
    /// <seealso cref="AnimationTrack"/>
    public delegate void AnimationEventHandler (Object obj, EventArgs args);

    /// <summary>
    /// レンダリング パス ハンドラー
    /// </summary>
    /// <remarks>
    /// このハンドラーはレンダリングの方法を DDD に指示するメソッドです。
    /// DDD ではレンダリングの具体的な手順(レンダリングパス)はエンジン内部では定義されておらず、
    /// 外部からユーザーが <see cref="RenderPassHandler"/> 型のデリゲートで注入します。
    /// この仕組みによってユーザーは自由にレンダリング手順を定義・変更する事が可能です。
    /// </remarks>
    public delegate void RenderPassHandler ();


}
